#ifndef NODE_H
#define NODE_H
#include <QDebug>
#include <armadillo>

using namespace arma;

class node
{
    float positionX;
    float positionY;

    int globalNumeration;
    int globalMatrixNumerationX;
    int globalMatrixNumerationY;

    bool prescribed;

    mat boundaryCondition;
    mat deformation = zeros(2,2);
    mat deformationAnal = zeros(2,2);

    float horizontalDeslocation;
    float verticalDeslocation;


public:
    node();
    void setGlobalNumeration(int);
    void setBoundaryCondition(int, int, int, int, float, float,float, float);
    mat getBoundaryCondition();
    void setPositionXY(float , float);
    int getGlobalNumeration();
    float getPositionX();
    float getPositionY();

    void setGlobalMatrixNumerationX(int);
    void setGlobalMatrixNumerationY(int);

    int getGlobalMatrixNumerationX();
    int getGlobalMatrixNumerationY();

    void setHorizontalDeslocation(float);
    void setVerticalDeslocation(float);

    float getHorizontalDeslocation();
    float getVerticalDeslocation();

    void setDeformation(mat);
    mat getDeformation();
    void setDeformationAnal(mat);
    mat getDeformationAnal();





private:

protected:
};
QDebug operator<<(QDebug ,node );
QDebug operator<<(QDebug x,mat n);

#endif // NODE_H
